// JED Manager
// (c) jimon game studio

#ifndef JEH_CJEDMANAGER
#define JEH_CJEDMANAGER

#include "IJEDManager.h"

namespace je
{
	namespace core
	{
		//! JED Manager
		class CJEDManager:public je::core::IJEDManager
		{
		protected:
			jeJED_DataBlock::DataBlockFactoryType * Factory;
		public:
			//! Constructor
			CJEDManager();

			//! Destructor
			~CJEDManager();

			//! Get Factory
			jeJED_DataBlock::DataBlockFactoryType * GetFactory();

			//! Load
			jeJED_DataBlock * Load(IBuffer * Buffer,const jeStringw & Path = "");

			//! Save
			void Save(IBuffer * Buffer,jeJED_DataBlock * RootBlock);

			//! Return true if this is jed format
			u1 IsCanLoadThis(IBuffer * Buffer);
		};
	}
}

#endif
